Extending the opening time of state menu items for conformations of multiple changes

ABSTRACT

A method, information processing system and computer readable storage medium for presenting a graphical menu item on a display. The graphical menu is displayed by receiving a time delay selected by an end-user; presenting to the end-user a graphical menu item wherein at least one menu item has a selectable option state; receiving input from the end-user for changing the option state on at least one menu item; and waiting an amount of time greater than the time delay before removing the graphical menu item from the display.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention disclosed broadly relates to the field of computerscomputing, and more particularly relates to the menu items in the fieldof graphical user interfaces.

2. Description of the Related Art

Graphical user interfaces have been improving for a long time. From thebeginning of computer history, computer developers have been working onways to improve the easy of use of the machine with end-user by buildingbetter user interfaces. One of the purposes of the graphical userinterfaces (GUIs) were to make it easier to perform complicated taskssuch a moving files and starting programs. The history of computer GUIgoes back to a project by the Xerox Corporation in the 1970s to presentinformation more easily to end-users. Soon Apple through its Macintoshand Lisa line of products, Microsoft through its Windows 3.1 and Windows95 products, IBM through its OS/2 products and others began to offereven more sophisticated GUIs and improved on the innovations made byXerox. Higher resolution displays, the introduction of color graphics ,the use of animated objects, the use of photorealistic pictures and eventhe introduction of 3-D user interfaces have greatly improved the easeof use of the computer. of GUIs.

Although GUIs have continued to evolve and make tasks easier forend-users there are some tasks that are still very burdensome tocomplete. Referring to FIG. 1 is a screen capture of an applicationprogram 100 entitled “Paint” that ships with Windows 95 and otherMicrosoft products. Shown is a typical pull-down menu bar 102 withvarious menu items. One menu 108 item entitled “View” has an associatedpull-down menu 104 with various end-user selectable options, such as theoption 106 entitled “Color Box”. The pull down menu 104 is activated bymoving cursor 112 with a mouse (not shown) or other graphical pointingdevice. A check box 110 denoted by symbol “✓” notifies the end-user thatthis option 106 “Color Box” is currently selected. The instant theend-user selects this option 106 “Color Box” the pull-down menu 104 isprogramed to disappear from the application program 100 and the cursorchanges to a pencil 202 as shown in FIG. 2. This action of changing thestate of an option 106 from enabled to disabled is disruptive to theend-user. The end-user cannot discern that the action has been completedor what selection has been made because the box has disappeared. Theend-user many times re-pulls opens the pull-down menu 104 to doublecheck to determine if the option 106 state has been changed. The optionstate 106 in this example would change from the check box 110 denoted bysymbol “✓” to an absence of a checked box 110. Of course, alternatelyfor this particular example an end-user may notice that thecorresponding graphic 114 for the option 106 “Color Box” hasdisappeared, as shown in FIG. 2. However, many times the end-user is anovice with an application program 100 and may not understand what itemschanged on the application screen. Moreover, many times applicationprogram 100 does not give any graphical feedback at all to an end-userof the state of an option 106 has changed. Accordingly, a need existsfor a method to provide the end-user feedback that an option state haschanged.

Still another burden with the changing of option states in menus, dialogboxes using radio buttons and other types of menu choices in which themenu closes immediately is the requirement of changing several optionsat once. Stated differently, if an end-user wishes to change more thanone option in a pull-down menu 104, such as both option 106 “Color Box”and option 116 “Status Bar”, the end-user must repeat the action ofselecting pull-down menu bar 102 with various menu items. Each option106 and 116 must be selected individually. This is unnecessarilyburdensome. Accordingly, a need exists for a method to provide anend-user a method for selecting many option states on one menu itemwithout having to reopen the menu.

Although the examples in FIGS. 1 and 2 have been limited to one exampleof application program 100 and one type of menu, i.e., pull-down menu104, other menu types including radio buttons and check boxes, thatdisappear automatically after the end-user makes a selection suffer thesame shortcomings as discussed above for the pull-down menu 104.Accordingly, a need exists to overcome the problems with changing stateson application program options with these menu types as well.

SUMMARY OF THE INVENTION

Briefly, in accordance with the present invention, a method forpresenting a graphical menu item on a display. The method comprising thesteps of: receiving a time delay selected by an end-user; presenting tothe end-user a graphical menu item wherein at least one menu item havingan selectable option state; receiving input from the end-user forchanging the option state on at least one menu item; and waiting anamount of time greater than the time delay before removing the graphicalmenu item from the display.

In accordance with another embodiment of the present invention, aninformation processing system and computer readable storage medium isdisclosed for carrying out the above method.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other objects, features, andadvantages of the invention will be apparent from the following detaileddescription taken in conjunction with the accompanying drawings.

FIG. 1 is a screen capture of an application program entitled “Paint” ofthe prior art option state selection.

FIG. 2 is a screen capture of an application program of FIG. 1 after anoption state has been selected.

FIG. 3 is a block diagram of the major electrical components of aninformation processing system according to the present invention.

FIG. 4 is a block diagram illustrating the software hierarchy for theinformation processing device of FIG. 3 according to the presentinvention.

FIG. 5 is a flow diagram of the menu lag process flow according to thepresent invention.

FIG. 6 is a screen capture of the options for the menu lag process flowof FIG. 5 according to the present invention.

DETAILED DESCRIPTION OF AN EMBODIMENT An Embodiment of the Hardware andSoftware Systems

Referring now in more detail to the drawings in which like numeralsrefer to like parts throughout several views, FIG. 3, shows a blockdiagram of the major electrical components of a computer system 300 usedin accordance with this invention. The electrical components include: acentral processing unit (CPU) 302, an Input/Output (I/O) Controller 304,a system power and clock source 306; display driver 308; RAM 310; ROM312; ASIC (application specific integrated circuit) 314 and a hard diskdrive 318. A keyboard 316 with a mouse 332 receives the end-user input.These are representative components of a computer. The operation of acomputer comprising these elements is well understood. Network interface320 provides connection to a computer network such as Ethernet, TCP/IPor other popular protocol network interfaces. Optional components forinterfacing to external peripherals include: a Small Computer SystemsInterface (SCSI) port 322 for attaching peripherals; a PCMCIA slot 324;and serial port 326. An optional diskette drive 328 is shown for loadingor saving code to removable diskettes 330 or equivalent computerreadable media such as CD-ROM, removable storage medium and opticalcharacter scanning. The system 300 may be implemented by combination ofhardware and software. Moreover, the functionality required for usingthe invention may be embodied in computer-readable media (such as 3.5inch diskette 330) to be used in programming an information-processingapparatus (e.g., a personal computer) to perform in accordance with theinvention.

FIG. 4 is a block diagram illustrating the software hierarchy for theinformation processing system of FIG. 3 according to the presentinvention. The hardware 402 is the information processing system of FIG.3. BIOS (Basic Input Output System) 404 is a set of low level computerhardware instructions, usually stored in ROM 412, for communicationsbetween an operating system 408, device driver(s) 406 and hardware 402.Device drivers 406 are hardware specific code used to communicatebetween and operating system 408 and hardware peripherals such as amouse 432, CD ROM drive or printer. Applications 410 are softwareapplications written in C/C++, Java, assembler or equivalent. Thefunctional block diagrams in FIGS. 4 and 5 are implemented as a softwareapplication 410 as described in greater detail below. Operating system408 is the master program that loads after BIOS 404 initializes, thatcontrols and runs the hardware 402. Examples of operating systemsinclude DOS, Windows 3.1/95/98/NT, Unix, Macintosh, OS/2 and equivalent.

An Embodiment of the Process Flow

The words “option state” is used through this patent to describe anapplication software option that has one of a predetermined number ofstates, typically “on” or “off” and “enabled” or “disabled” and“selected” and “unselected” and other equivalents. Turning now to FIG.5, there is shown a flow diagram of the menu lag process flow 500according to the present invention. The application 100 in FIG. 1 isreferenced for convenience. The process begins with an end-userselecting the value of the menu delay of T, steps 502. Next an end-userselects an application 100, and selects a pull-down menu bar 102, step504. The pull-down menu 104 is display, step 508. At step 512, a test ismade to determine if the end-user selected an area with a cursor outsidethe pull-down menu 104. If the end-user did select an area outside thepull-down menu 104, the pull-down menu 104 is closed, step 524. If theend-user did not desire to close the pull-down menu 104 by selecting anarea outside the pull-down menu with a mouse, a test is made in step 514to determine if the end-user changed an option state on the pull-downmenu 104. If an option state is changed, a timer is loaded with timedelay value of T, step 520. Next a test is made in step 522 to see ifthe delay set in the timer of T has expired. If the time expired, thepull-down menu 104 is closed in step 524.

In order to handle the case of multiple state options changing, twoadditional loops are present in this process flow 500. If the time delayset in the timer of T is not expired in step 522, the process repeatsstep 512 to see if the end-user manually closed the pull-down menu 104.If the end-user has not closed the pull-down menu, the determination instep 514 of whether a menu item been selected. If no menu item has beenselected, a test, in step 518 is made to see if any of the state optionsin pull-down menu 104 have changed.

If any option has been changed, a test of the timer delay in step 522 ismade. Otherwise, if a menu item had not been changed in step 518, theprocess loops back to step 512 to begin again. If the end-user doeschange another pull-down menu 104 or even toggles, the same previousselected menu item, the delay timer T is reset. This resettable delaytimer T allows the end-user another chance to view items before thepull-down menu 104 is closed.

FIG. 6 is a screen capture of the options for the menu lag process flowof FIG. 5 according to the present invention. The lag application window602 in one embodiment, is a standalone window that sets the timer delayT via end-user adjustable slider 604 for all windows in an operatingsystem 408. In another embodiment the adjustable slider 604 may beassociated with only end-user specified applications. For example, settimer delay T for any applications as part of Microsoft Office 2000applications.

It should be understood that the process of changing state options witha cursor and a pointing device such as a mouse, glide pad, trackball,touch screen, or track point pointing device is discussed for changingone or more state options. The use of voice input for the selection ofstate options on a pull-down menu is also possible.

Although a specific embodiment of the invention has been disclosed, itwill be understood by those having skill in the art that changes can bemade to this specific embodiment without departing from the spirit andscope of the invention. The scope of the invention is not to berestricted, therefore, to the specific embodiment, and it is intendedthat the appended claims cover any and all such applications,modifications, and embodiments within the scope of the presentinvention.

What is claimed is:
 1. A method for presenting a graphical menu item ona display comprising the steps of: receiving a time delay selected by anend-user; presenting to the end-user a graphical menu item wherein atleast one selectable menu item having a selectable option state;receiving input from the end-user for changing the option state on atleast one selectable menu item; waiting an amount of time greater thanthe time delay before removing the graphical menu item from the display;(a) determining if the end-user selected an area of the display outsidean area defined by the menu item and closing the menu item if an areaoutside the menu item was selected; and (b) determining if the end-userdid not select an area of the display outside an area defined by themenu item performing the steps of: (I) determining if the end-userselected one or more option states on the menu item and if the end-userselected one or more option states, setting a time delay in a timer;testing to see if the time delay has passed and closing the menu item,and if the time delay has not passed repeating step (a) above; and (II)determining if the end-user has not selected one or more option stateson the menu item and if the end-user has not selected one more optionstates, then performing the steps of determining: if one or more optionstates were not changed then repeating step (a) above; and if one ormore option states were changed then performing the sub-steps ofdetermining:  if the time delay loaded in the timer has passed andclosing the menu item; and  if the time delay has passed, and if thetime delay has not passed, repeating step (a) above.
 2. An informationalprocessing system, comprising a display for presenting a graphical userinterface to an end-user, the graphical user interface includes at leastone graphical menu item that is displayed in response to an initialselection by the end-user, with at least one menu item having aselectable options state, said information processing system comprising;an input for receiving one or more subsequent selections from anend-user for changing the option state on at least one menu item; aresettable timer for providing a delay as selected by the end-userbetween the time when the end-user changes an option state on at leastone menu item input by sending the one or more subsequent selections andthe time when the menu item is removed from the graphical userinterface, the delay in the timer being reset after each option state ischanged; and a selection monitor for: determining if the end-userselected an 4area of the display outside an area defined by the menuitem and closing the menu i;em if an area outside the menu item wasselected; and determining it the end-user did not select an area of thedisplay outside an area defined by the menu item by: determining if theend-user selected one or more option states on the menu item and if theend-user selected one or more option states, setting a time delay in atimer; testing to see if the time delay has passed and closing the menuitem, and if the time delay has not passed, determining if the end-usesselected an area of the display outside an area defined by the menu itemand closing the menu item if an area outside the menu item was selected;and determining if the end-user has not selected one or more optionstates on the menu item and if the end-user has not selected one moreoption states, then determining if one or more option states were notchanged then, determining if the end-user selected an area of thedisplay outside an area defined by the menu item, and closing the menuitem if an area outside the menu item was selected; and if one or moreoption states were changed then determining:  if the time delay loadedin the timer has passed and closing the menu item; and  if the timedelay has passed, and if the time delay has not passed, determining ifthe end-user selected an area of the display outside an area defined bythe menu item and closing the menu item if an area outside the menu itemwas selected.
 3. The information processing system of claim 2, whereinthe input is a voice input.
 4. A computer readable medium comprisingprogramming instructions for presenting a graphical menu item on adisplay, the programming steps comprising: receiving a time delayselected by an end-user; presenting to the end-user a graphical menuitem wherein at least one menu item having a selectable option state;receiving input from the end-user for changing the option state on atleast one menu item; waiting an amount of time greater than the timedelay before removing the graphical menu item from the display; (a)determining if the end-user selected an area of the display outside anarea defined by the menu item and closing the menu item if an areaoutside the menu item was selected; and (b) determining if the end-userdid not select an area of the display outside an area defined by themenu item performing the steps of: (l) determining if the end-userselected one or more option states on the menu item and if the end-userselected one or more option states, setting a time delay in a timer;testing to see if the time delay has passed and closing the menu item,and if the time delay has not passed repeating step (a) above; and (II)determining if the end-user has not selected one or more option stateson the menu item and If the end-user has not selected one more optionstates, then performing the steps of determining: if one or more optionstates were not changed then repeating step (a) above; and if one ormore option states were changed then performing the sub-steps ofdetermining:  if the time delay loaded in the timer has passed andclosing the menu item; and  if the time delay has passed, and if thetime delay has not passed, repeating step (a) above.
 5. The computerreadable medium according to claim 4, wherein the programing instructionof receiving input from the end-user for changing the option stateincludes changing the option state using the end-user's voice.